#include <unistd.h> 
#include "run.h"

//希望在run循环里面，每隔1秒运行一个函数，这个函数由main.c来指定（函数在main.c中）
//定义一个函数指针，在循环体里面运行
// void (*step)(void)=NULL;

//带参数
// void (*step)(int)=NULL;

//带返回值
int (*step)(int)=NULL;

//run.c中的主要方法
void method(void){
    int ct = 0;
    while (1)
    {
        if (step!=NULL)//有赋值才运行，否则不运行，避免乱运行
        {
            // step();
            // step(ct);
            int r = step(ct);
            printf("r=%d\n", r);
        }
        ct++;
        sleep(1);
    }
    
}

//安装函数，用于指针的传递，将上面定义的函数指针step传递出去
// void cb_install(void (*p)(void)){
//     step = p;
// }

// void cb_install(void (*p)(int)){
//     step = p;
// }

void cb_install(int (*p)(int)){
    step = p;
}